#include <stdio.h>
#include "single_linked_list.cpp"

// 带头结点无需链表, 删除给定值范围内的节点 左开右闭

void DeleteNode(LinkedList &L, int start, int end) {
   LNode *ptr = L;
   while (ptr->next != NULL)
   {
       if (ptr->next->data >= start || ptr->next->data < end) {
           LNode *q = ptr->next;
           ptr->next = ptr->next->next;
           ptr = q;
       } else {
           ptr = ptr->next;
       }
   }
}

int main() {
    LinkedList L;
    InitList(L);

    // 插入
    ListAppend(L, 2);
    ListAppend(L, 5);
    ListAppend(L, 9);
    ListAppend(L, 7);
    ListAppend(L, 3);
    ListAppend(L, 6);
    PrintList(L);

    DeleteNode(L, 3, 6);
    PrintList(L);
}